﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BGCOP.CAVTOP.BUSINESSLAYER
{
    public partial class Usuarios
    {
        /// <summary>
        /// rutina de agregado de un nuevo usuario
        /// </summary>
        /// <param name="nuevoUsuario">nuevo usuario</param>
        /// <param name="usuarioUg">usuarios de la sesion</param>
        /// <returns></returns>
        public bool AgregarUsuario(TUsuario nuevoUsuario, int usuarioUg)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();
            TUsuario tu = nuevoUsuario;
            db.AddToTUsuario(tu);
            db.SaveChanges();
            tmp = true;
            return tmp;
        }

        /// <summary>
        /// rutina de modificar un usuario
        /// </summary>
        /// <param name="alias"></param>
        /// <param name="nuevoUsuario"></param>
        /// <param name="usuarioUg"></param>
        /// <returns></returns>
        public bool ModificarUsuario(int id, TUsuario nuevoUsuario, int usuarioUg)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();
            TUsuario tu = db.TUsuario.FirstOrDefault(c => c.idUsuario == id);
            if (tu != null)
            {
                tu.nombre = nuevoUsuario.nombre;
                tu.login = nuevoUsuario.login;
                tu.password = nuevoUsuario.password;
                tu.activo = nuevoUsuario.activo;
                tu.fotoUsuario = nuevoUsuario.fotoUsuario;
                tu.fechaUltimaGestion = DateTime.Now;
                tu.idTipoUsuario = nuevoUsuario.idTipoUsuario;
                tu.usuarioUltimaGestion = usuarioUg;

                db.SaveChanges();
            }

            tmp = true;
            return tmp;
        }

        public bool EliminarUsuario(int id)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();
            TUsuario tu = db.TUsuario.FirstOrDefault(c => c.idUsuario == id);
            db.TUsuario.DeleteObject(tu);
            db.SaveChanges();
            tmp = true;
            return tmp;
        }

        public List<TUsuario> ListarTodosLosUsuarios()
        {
            masterDBACEntities db = new masterDBACEntities();
            var usrs = from usr in db.TUsuario
                       select usr;
            return usrs.ToList();
        }

        public TUsuario obtenerUsuario(string login)
        {
            masterDBACEntities db = new masterDBACEntities();
            TUsuario tu = db.TUsuario.FirstOrDefault(c => c.login  == login);
            return tu;
        }


    }
}